CLI Libs
The project of CLI tools for mornya
libraries.
This project has been created by Vessel CLI.
For a simple and quick reference about it, click here.
About
CLI 개발에 사용되는 모듈들에 대해 집합적인 형태로 제공되는 패키지.
Installation
해당 라이브러리를 사용 할 프로젝트에서는 아래와 같이 의존성 모듈로 설치한다.
$ npm install --save @mornya/cli-libs
or
$ yarn add @mornya/cli-libs
Modules in the package
본 패키지에는 아래와 같은 모듈들을 포함한다.
제공되는 모듈과 메소드 사용법 등은 코드 스니핏을 참고한다.
Args module
프로세스 실행시 명령줄라인의 파라미터 값을 정제하여 제공한다.
function parse (): string[] {}
function has (name: HasName): boolean {}
function hasAll<Keys extends string, T = KeyValueFlag<Keys>> (names: HasName[]): T {}
function getArguments<Keys extends string> (actionMap: ActionMap<Keys>): IArguments {}
Command module
프로세스 실행 관련 메소드들을 제공한다.
function run (
cmd: string,
args: IArgs,
executor?: (message: string, error?: Error) => void,
hasOutput: boolean = true,
): boolean {}
function get (cmd: string, args: IArgs): string {}
function getPackageManagerInfo (rootPath: string): IPackageManagerInfo {}
Files module
파일처리 관련 메소드들을 제공한다.
function dir (...names: string[]): string {}
function getGlob (
globPath: GlobPath,
callback: ((item: string, index: number) => boolean | void) = () => {},
): string[] {}
function getRealPath (): string {}
function resolvePath (...args: string[]): string {}
function rimraf (globPath: GlobPath): string[] {}
function emptyDir (globPath: GlobPath): string[] {}
function mkdirs (dirName: string): void {}
function move (srcGlobPath: GlobPath, destPath: string): string[] {}
function copy (
srcGlobPath: GlobPath,
destPath: string,
isSymlink: boolean = false,
): string[] {}
function copyDir (
srcGlobPath: GlobPath,
destPath: string,
exceptFiles: string[] = [],
): string[] {}
function isExist (dirName: string): boolean {}
function isEmptyDir (dirName: string): boolean {}
function list (dirName: string): string[] {}
function read (fileName: string): string {}
function readJSON<T = {}> (fileName: string): T {}
function write (fileName: string, value: string): void {}
function writePrettyJSON (
fileName: string,
value: {},
maxLineLength: number = 1,
): void {}
function getDirectoryFiles (
dirName: string,
executor: (isDir: boolean, relPath: string, currDir: string, file: string) => boolean | void,
): void {}
function getFilteredExistPaths (
rootPath: string,
targetPathList: string[] = [],
isOnly: boolean = false,
): string[] {}
function getConfig<T> (
rootPath: string,
name: string,
filename?: string,
): GetConfig<T> {}
Icons module
OS에 맞게 변환된 출력용 이모티콘을 제공한다.
import { Icons } from '@mornya/cli-libs';
console.log(Icons.icon.okay);
Key module
콘솔에서 간단한 키보드 입력 관련 메소드를 제공한다.
function pressed (callback: Callback): void {}
Log module
콘솔 로그 관련 메소드들을 제공한다.
function setLogger (logger: (...args: any[]) => any): void {}
function showCursor (): void {}
function hideCursor (): void {}
function linefeed (): void {}
function out (message?: any, ...optionalParams: any[]): void {}
function info (message?: any, ...optionalParams: any[]): void {}
function progress (message: string, ...optionalParams: any[]): void {}
function devOnly (message?: string, ...optionalParams: any[]): void {}
function watch (message?: any, ...optionalParams: any[]): void {}
function debug (message?: any, ...optionalParams: any[]): void {}
function warn (message?: any, ...optionalParams: any[]): void {}
function error (message?: any, ...optionalParams: any[]): void {}
function okay (message?: string, ...optionalParams: any[]): void {}
function bad (message?: string, ...optionalParams: any[]): void {}
function success (message?: string, ...optionalParams: any[]): void {}
function failure (message?: string, ...optionalParams: any[]): void {}
Minify module
uglify-es 디펜던시를 이용하여 *.js, *.mjs 파일들에 대한 minification을 수행하는 메소드를 제공한다.
function run (buildPath: string, options?: Options): Result {}
Upgrade module
애플리케이션 수행 중에 업데이트가 필요한 디펜던시를 체크하여 종료 전에 설치할 수 있도록 하는 기능 등을 제공한다.
function checkLazyNpm (dep: string): Promise<string> {}
function checkLazyYarn (dep: string): Promise<string> {}
function checkLazyEmitBeforeExit (
dep: string,
currentVersion: string,
option?: CheckLazyEmitBeforeExitOption,
): void {}
Utils module
기타 유틸성 처리 메소드들을 제공한다.
function removeArrayDups (
baseArray: string[] | undefined,
dataArray: string[] = [],
): string[] | undefined {}
function hasProps<OT = any, TT = OT, FT = OT> (
obj: OT,
truthyValue?: TT,
falsyValue?: FT,
): OT | TT | FT | undefined {}
function uri2binary (data: string | undefined = ''): Uint8Array {}
Version module
버전 체크 등 메소드들을 제공한다.
function check (baseVersion: string, currVersion: string): -1 | 0 | 1 {}
Chalk library
터미널 스타일링을 위한 chalk 라이브러리를 제공한다.
Change Log
해당 프로젝트의 CHANGELOG.md 파일 참조.
License
해당 프로젝트의 LICENSE 파일 참조.